FROM node:18-alpine

# 设置工作目录
WORKDIR /app

# 安装必要的系统依赖
RUN apk add --no-cache openssl python3 make g++ gcc mysql-client

# 创建必要的目录
RUN mkdir -p /app/logs /app/uploads /app/backups

# 设置数据卷（用于挂载代码和数据）
VOLUME ["/app", "/app/logs", "/app/uploads", "/app/backups"]

# 设置默认环境变量
ENV NODE_ENV=production
ENV PORT=3100

# 暴露端口
EXPOSE 3100

# 启动命令（安装依赖、生成Prisma客户端、启动应用）
CMD ["sh", "-c", "npm install && npx prisma generate && node src/app.js"] 